
別閉門造車,一起準備面試吧!
在紙上呈現100%完美的你!打爆天下無敵手的履歷怎麼寫?找工作前的第一步:履歷健檢!
我們將幫助您撰寫一份出色的履歷表,讓您在眾多求職者中脫穎而出。我們將為您提供專業的建議和指導,幫助您在履歷上呈現最完美的自己。如果心動的話,就別猶豫啦!趕快把握機會,動動手指投遞履歷吧!立即加入 Line 讀書會,和大家一起實現夢想!
履歷諮詢
加入讀書會 (邀請碼:3858)
class Solution {
    fun isSubtree(root: TreeNode?, subRoot: TreeNode?): Boolean {
        if (root == null && subRoot == null) return true
        else if (root == null) return false
        else if (subRoot == null) return false
        else {
            val candidate = find(root, subRoot)
            val result = areTreesSame(candidate, subRoot)
            if (result) return true
            else {
                val leftResult = isSubtree(root.left, subRoot)
                if (leftResult) return true
                return isSubtree(root.right, subRoot)
            }
        }
    }
    private fun find(t1: TreeNode?, t2: TreeNode?): TreeNode? {
        if (t1?.`val` == t2?.`val`) return t1
        val left = t1?.left?.let { find(it, t2) }
        if (left != null) return left
        return t1?.right?.let { find(it, t2) }
    }
    private fun areTreesSame(r1: TreeNode?, r2: TreeNode?): Boolean {
        return if (r1 == null && r2 == null) true
        else if (r1 == null) false
        else if (r2 == null) false
        else {
            if (r1.`val` != r2.`val`) false
            else areTreesSame(r1.left, r2.left) &&
                    areTreesSame(r1.right, r2.right)
        }
    }
}
別閉門造車,一起準備面試吧!
在紙上呈現100%完美的你!打爆天下無敵手的履歷怎麼寫?找工作前的第一步:履歷健檢!
履歷諮詢
加入讀書會 (邀請碼:3858)